Signature du projet
Le périphérique IHM peut être configuré pour n'accepter que les projets signés. La signature garantit que seuls les utilisateurs autorisés peuvent mettre à jour l’application JMobile HMI Runtime.
Pour configurer le périphérique IHM pour qu'il accepte uniquement les projets signés, un certificat x.509 est nécessaire pour signer les projets.
Le certificat x.509 comprend deux parties :
-
certificate.pfx
Un fichier avec la clé primaire nécessaire pour signer le projet qui doit être installé sur le PC et utilisé à partir de JMobile Studio pour signer le projet à télécharger sur le périphérique IHM (la clé primaire est un fichier réservé car celui qui la possède a la possibilité de modifier le projet sur le panneau) -
certificate.crt
Un fichier avec la clé publique qui doit être chargé sur le périphérique IHM pour donner au périphérique la possibilité de vérifier si le projet est correctement signé (ce fichier sera sauvegardé dans une zone protégée du périphérique IHM car s'il était remplacé, la protection serait perdue).
Nous utilisons un algorithme de hachage sécurisé (SHA256).
Comment installer le certificat sur le PC
Pour installer le certificat sur le PC, cliquez deux fois sur le fichier certificate.pfx pour activater l’assistant d’installation Windows. On vous demandera le mot de passe associé au certificat et l'endroit où l'installer (par exemple, il pourrait être installé dans le dossier « Personnel »).
Comment installer le certificat sur le périphérique IHM ?
Sur le périphériques IHM, le certificate.crt peut être installé à partir des paramètres système de l'IHM dans la zone Sécurité (voir "Sécurité").
Dans la zone Sécurité, sélectionnez :
- Domaine = Runtime IHM
- ID secret = Signature du projet
- Type = Certificat
- Utilisez le bouton « Mettre à jour » pour charger le certificat.
Comment configurer JMobile Studio pour signer le projet avant de le télécharger
Après avoir installé les deux fichiers relatifs au certificat, il est possible de signer l'application qui sera téléchargée vers le panneau en définissant sur Vraie la propriété « Signer le projet », disponible dans les « Propriétés du projet » (voir "Projet"). Lorsque vous téléchargerez un projet vers le périphérique IHM, vous serez invité à indiquer le certificat à utiliser, qui doit correspondre au certificat installé sur le périphérique IHM.
Script pour générer un certificat
Voici un exemple de la façon de générer un certificat à l'aide d'une bibliothèque publique OpenSSL-Win32 (Référence : https://www.openssl.org/)
Fichier : CreateCertificates.cmd
@echo off set OpenSSL="C:\Program Files (x86)\OpenSSL-Win32\bin\openssl.exe" set CertificateName=MyCertificate rem Generate an RSA key %OpenSSL% genrsa -out certificate.key 4096 rem Creating Certificate Signing Requests %OpenSSL% req -new -sha256 -key certificate.key -out certificate.csr -subj "/ST=NY/C=US/L=New York/O=CompanyName/OU=R&D Team/CN=%CertificateName%" rem Self Sign the Certificate Signing Requests %OpenSSL% x509 -req -days 365 -in certificate.csr -signkey certificate.key -out certificate.crt rem Convert to .pfx file %OpenSSL% pkcs12 -export -out certificate.pfx -inkey certificate.key -in certificate.crt -CSP "Microsoft Enhanced RSA and AES Cryptographic Provider" pause
La procédure nécessitera la création d'un mot de passe qui sera ensuite nécessaire pour accéder à la clé primaire du certificat.